package com.njust.service;

import com.njust.dataobject.MotorInfo;
import com.njust.dataobject.TrainData;
import com.njust.dataobject.TrainParam;
import com.njust.form.HeightRequest;
import com.njust.form.TodayQueryForm;
import com.njust.vo.ResultVO;
import com.njust.vo.TrainDataVO;

import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import java.util.List;

/**
 * Created by zhujiawei on 2017/12/28.
 */
public interface TrainService {


    ResultVO findTrainInfoByTrainOnlyid(Long trainOnlyid);

    TrainDataVO findByTrainOnlyid(Long trainOnlyid);

    ResultVO findByTrainDate(Date pre,Date after,Integer page,Integer size);

    ResultVO todayLast10(Date pre,Date after);

    ResultVO TodayQuery(TodayQueryForm todayQueryForm) throws ParseException;

    ResultVO realShowlast(String pre) throws ParseException;

    ResultVO realShowall(String pre) throws  ParseException;

    ResultVO warn(Long trainOnlyid) throws IOException;

    ResultVO deviceState(Integer warnRank) throws IOException;

   //新添加的方法
   ResultVO heightDifference(HeightRequest heightRequest) throws ParseException;

    ResultVO findHeightDiffer(HeightRequest heightRequest) throws ParseException;
    //ResultVO realShowTen();
    //通用的分装方法
    void assembleGearData(List<MotorInfo> motorInfoList, TrainParam trainParam, TrainData trainData, TrainDataVO trainDataVO);
}
